// pages/login/login.js
import {getSms, login} from '../../api/user'
Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		form:{
			mobile:'',
			code:''
		},
		get_code_btn:true,
		countDownNum: '60',
		err_msg:'',
		err_msg_code:'',
		erro:false,
		erro_code:false
	},
	// ×返回上一页
	goback(){
		wx.navigateBack({
			delta: 1
		})
	},
	// 绑定输入框的值
	onChange(e){
		// console.log(e)
		this.setData({
			'form.mobile': e.detail,
		})
	},
	onChangeSms(e){
		// console.log(e)
		this.setData({
			'form.code': e.detail,
		})
	},
	// 校验手机号
	validata(e){
		if(!e.detail.value || e.detail.value.length !== 11){
			this.setData({
				err_msg:'请输入正确的手机号',
				erro:true
		})
}else{
	this.setData({
		err_msg:'',
		erro:false
})
}
	},
	// 校验验证码
	validataCode(e){
		if(!e.detail.value){
			this.setData({
				err_msg_code:'请输入正确的验证码',
				erro_code:true
		}) 
	}else {
		this.setData({
			err_msg_code:'',
			erro_code:false
	}) 
	}
	},
	// 获取验证码校验手机号
	async getSms(){
		if(!this.data.form.mobile || this.data.form.mobile.length !== 11){
			this.setData({
				err_msg:'请输入正确的手机号',
				erro:true
		})
	}else{
		this.setData({
			err_msg:'',
			erro:false
	})
	// 获取验证码
	try {
		await getSms(this.data.form)
		this.setData({
			get_code_btn:false
		})
		this.countDown()
		wx.showToast({
			title: '验证码已发送',
			icon:'success'
		})
	} catch (error) {
		wx.showToast({
			title: '验证码发送失败',
			icon:'error'
		})
	}
	}
	// 验证码倒计时
	},
	countDown: function() {
    const _this = this;
    let countDownNum = _this.data.countDownNum;             
    let timer = setInterval(function() {
      countDownNum -= 1;
      _this.setData({
        countDownNum: countDownNum
      })
      if(countDownNum <= -1) {
        clearInterval(timer);
        // 取消置顶的setInterval函数将要执行的代码
        _this.setData({
					countDownNum: 60,
					get_code_btn:true
        })
      }
    }, 1000)
	},
	// 登录
	async login(){
		// 判断手机号和密码是否合格
		if(!this.data.form.mobile || !this.data.form.code) {
			this.setData({
				err_msg_code:'请输入正确的验证码',
				erro:true,
				err_msg:'请输入正确的用户名',
				erro_code:true
		}) 
		} else {
			try {
			const res = await login(this.data.form)
			// console.log(res.data.token)
			wx.showToast({
				title: '登陆成功',
				icon:'success'
			})
			// 跳转页面传参
			wx.redirectTo({
				url: `/pages/user/user?token=${res.data.token}&mobile=${this.data.form.mobile}`,
			})
			} catch (error) {
				wx.showToast({
					title: '登陆失败',
					icon:'erro'
				})
			}
		}
	},
	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad(options) {

	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady() {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow() {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide() {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload() {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh() {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom() {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage() {

	}
})